package Method_Case_project;

import java.util.Random;

public class case7_Verification_Code {
    public static void main(String[] args) {
        /*
        需求：
        定义方法实现随机产生一个5位的验证码
        验证码格式为：
        长度为5
        前四位是大写字母或者小写字母
        最后一位是数字
         */

        //分析：
        //A～Z  a～z
        //方法：
        //在以后如果我们要在一堆没有什么规律的数据中随机抽取
        //可以先把这些数据放在数组当中
        //再随机抽取一个索引

        //1、大写字母和小写字母都放在数组当中
        char[] chs = new char[52];

        for (int i = 0; i < chs.length; i++) {
            //ASCII码表
            if (i < 26) {
                //添加小写字母
                chs[i] = (char) ('a' + i);
            } else {
                //添加大写字母
                chs[i] = (char) ('A' + i - 26);
            }

        }

        //定义一个字符串类型的变量，用来记录最终的结果
        String result = "";

        //2、随机抽取4次
        Random r = new Random();
        for (int i = 0; i < 4; i++) {
            //0～51
            int randomIndex = r.nextInt(chs.length);
            //利用随机索引，获取对应元素
            result += chs[randomIndex];
        }

        //3、随机抽取一个数字0～9
        int number = r.nextInt(10);

        //生成最终的结果
        result += number;

        System.out.println(result);
    }
}
